package basics;

public class basicsGrammar {

    /**
     * 第一行代码
     *
     */
    public static void main(String[] args){
        // 每个编程语言的第一行代码“Hello World”
        System.out.println("Hello World");
    }

    /**
     * public static void main(String[] args){
     *
     * }是一个main方法，每一个类中只能有一个main方法
     * public 是访问修饰符
     * static 是关键字
     * void   是返回类型
     * main   是方法名
     * String 是类型
     * args   是数组名
     */

    /**
     * 基本语法
     * 1、大小写敏感：Java 是大小写敏感的，这就意味着标识符 Hello 与 hello 是不同的。
     * 2、类名：对于所有的类来说，类名的首字母应该大写。如果类名由若干单词组成，那么每个单词的首字母应该大写，例如 MyFirstJavaClass 。
     * 3、方法名：所有的方法名都应该以小写字母开头。如果方法名含有若干单词，则后面的每个单词首字母大写。
     * 4、源文件名：源文件名必须和类名相同。当保存文件的时候，你应该使用类名作为文件名保存（切记 Java 是大小写敏感的），文件名的后缀为 .java。（如果文件名和类名不相同则会导致编译错误）。
     * 5、主方法入口：所有的 Java 程序由 public static void main(String[] args) 方法开始执行。
     */

    /**
     * Java标识符
     * Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
     * 关于Java标识符，有以下几点要注意一下：
     * 1、所有的标识符都应该以字母（A-Z 或者 a-z）,美元符（$）、或者下划线（_）开始
     * 2、首字符之后可以是字母（A-Z 或者 a-z）,美元符（$）、下划线（_）或数字的任何字符组合
     * 3、关键字不能用作标识符
     * 4、标识符是大小写敏感的
     * 5、合法标识符举例：age、$salary、_value、__1_value
     * 6、非法标识符举例：123abc、-salary
     */

    /**
     * Java修饰符
     * Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符：
     * 1、访问修饰符：default, public , protected, private
     * 2、非访问控制修饰符：final, abstract, static, synchronized
     */

    /**
     * Java变量
     * 1、局部变量
     * 2、类变量（静态变量）
     * 3、成员变量（非静态变量）
     */

    /**
     * Java数组
     * 数组是储存在堆上的对象，可以保存多个同类型变量。
     * 例如：String[] args
     */

    /**
     * Java关键字
     *
     * 访问控制
     * private      私有的
     * protected    受保护的
     * public       公共的
     * default      默认
     *
     * 类、方法和变量修饰符
     * abstract     声明抽象
     * class        类
     * extends      继承 、扩充
     * final        最终值、不可改变的
     * implements   实现（接口）
     * interface    接口
     * native       本地、原生方法（非Java实现）
     * new          新、创建
     * static       静态
     * strictfp     严格，精准
     * synchronized 线程、同步
     * transient    短暂
     * volatile     易失
     *
     * 程序控制语句
     * break        跳出循环
     * case         定义一个值以供switch选择
     * continue     继续
     * default      默认
     * do           运行
     * else         否则
     * for          循环
     * if           如果
     * instanceof   实例
     * return       返回
     * switch       根据值选择执行
     * while        循环
     *
     * 错误处理
     * assert       断言表达式是否为真
     * catch        捕捉异常
     * finally      有没有异常都执行
     * throw        抛出一个异常对象
     * throws       声明一个异常可能被抛出
     * try          捕获异常
     *
     * 包相关
     * import       引入
     * package      包
     *
     * 基本类型（8个可以简化为3大类，判断的boolean只有true或者false1个，字符的两个，还有数字计算的5个）
     * boolean      布尔型
     * byte         字节型
     * char         字符型
     * double       双精度浮点
     * float        单精度浮点
     * int          整型
     * long         长整型
     * short        短整型
     *
     * 变量引用
     * super        父类、超类
     * this         本类
     * void         无返回值
     *
     * 保留关键字
     * goto         是关键字，但不能使用
     * const        是关键字，但不能使用
     *
     */


}
